// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

import QtQuick
import "."

/*实现了一个矩形，有信息或错误时，就显示出来（信息或错误）。
  定义的2个函数init()，close()做什么用？哦，哦，这是一个基础UI（如名字page），Stats.qml、Measure.qml和Connect.qml都在其上添加，类似C++的继承：在父类上添加新的成员。
*/
Item {
    anchors.fill: parent

    property string errorMessage: ""
    property string infoMessage: ""
    property real messageHeight: msg.height
    property bool hasError: errorMessage != ""      //为真时，显示出来。
    property bool hasInfo: infoMessage != ""        //为真时，显示出来。

    function init()
    {
        console.log("slfjasfjdslfjdslfjdslfjdsljfdsljfldsjflsdf")
    }

    function close()
    {
        app.prevPage()                              //app是什么？prevPage()是什么？app是一个全局变量。
    }                                               //在App.qml中定义一个id为app，所以说，id可以跨.qml文件？

    Rectangle { //多包装了一层，以实现：a. 背景颜色。b. 控制可见。
        id: msg
        anchors.top: parent.top
        anchors.left: parent.left
        anchors.right: parent.right
        height: GameSettings.fieldHeight
        color: hasError ? GameSettings.errorColor : GameSettings.infoColor
        visible: hasError || hasInfo

        Text {
            id: error
            anchors.fill: parent
            horizontalAlignment: Text.AlignHCenter
            verticalAlignment: Text.AlignVCenter
            minimumPixelSize: 5
            font.pixelSize: GameSettings.smallFontSize
            fontSizeMode: Text.Fit
            color: GameSettings.textColor
            text: hasError ? errorMessage : infoMessage
        }
    }
}
